/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia.agente;

import entidades.PromocionImpl;
import java.util.Date;
import persistencia.Agente;
import persistencia.FachadaInterna;

/**
 *
 * @author Leandro
 */
public class PromocionAgente extends Agente implements Promocion {

    private PromocionImpl promocion;
    private String oidProducto;
    private boolean matProducto;
    private String oidDia;
    private boolean matDia;

    @Override
    public Date getFechaInicioVigencia() {
        return getPromocion().getFechaInicioVigencia();
    }

    @Override
    public void setFechaInicioVigencia(Date fechaInicioVigencia) {
        getPromocion().setFechaInicioVigencia(fechaInicioVigencia);
    }

    @Override
    public Date getFechaFinVigencia() {
        return getPromocion().getFechaFinVigencia();
    }

    @Override
    public void setFechaFinVigencia(Date fechaFinVigencia) {
        getPromocion().setFechaFinVigencia(fechaFinVigencia);
    }

  

    @Override
    public int getCodPromocion() {
        return getPromocion().getCodPromocion();
    }

    @Override
    public void setCodPromocion(int codPromocion) {
        getPromocion().setCodPromocion(codPromocion);
    }

    @Override
    public String getNombrePromocion() {
        return getPromocion().getNombrePromocion();
    }

    @Override
    public void setNombrePromocion(String nombrePromocion) {
        getPromocion().setNombrePromocion(nombrePromocion);
    }

    @Override
    public int getCantProductos() {
        return getPromocion().getCantProductos();
    }

    @Override
    public void setCantProductos(int cantProductos) {
        getPromocion().setCantProductos(cantProductos);
    }

    @Override
    public Producto getProducto() {
         if(!matProducto){
             promocion.setProducto(FachadaInterna.getInstancia().buscar(Producto.class, oidProducto));
            matProducto = true;
        }
        return getPromocion().getProducto();
    }

    @Override
    public void setProducto(Producto producto) {
        getPromocion().setProducto(producto);
    }

    @Override
    public Dia getDia() {
        
       if(!matDia){
            promocion.setDia(FachadaInterna.getInstancia().buscar(Dia.class, oidDia));
            matProducto = true;
        }
        
        return getPromocion().getDia();
    }

    @Override
    public void setDia(Dia dia) {
        getPromocion().setDia(dia);
    }

    public String getOidProducto() {
        return oidProducto;
    }

    public void setOidProducto(String oidProducto) {
        this.oidProducto = oidProducto;
    }

    public String getOidDia() {
        return oidDia;
    }

    public void setOidDia(String oidDia) {
        this.oidDia = oidDia;
    }

    /**
     * @return the promocion
     */
    public PromocionImpl getPromocion() {
        return promocion;
    }

    /**
     * @param promocion the promocion to set
     */
    public void setPromocion(PromocionImpl promocion) {
        this.promocion = promocion;
    }
    
      /**
     * @return the matProducto
     */
    public boolean isMatProducto() {
        return matProducto;
    }

    /**
     * @param matProducto the matProducto to set
     */
    public void setMatProducto(boolean matProducto) {
        this.matProducto = matProducto;
    }
    
      /**
     * @return the matProducto
     */
    public boolean isMatDia() {
        return matDia;
    }

    /**
     * @param matProducto the matProducto to set
     */
    public void setMatDia(boolean matDia) {
        this.matDia = matDia;
    }

    @Override
    public double getPorcentaDescuentoPorCantidad() {
        return getPromocion().getPorcentaDescuentoPorCantidad();
    }

    @Override
    public void setPorcentaDescuentoPorCantidad(double porcentaDescuentoPorCantidad) {
       getPromocion().setPorcentaDescuentoPorCantidad(porcentaDescuentoPorCantidad);
    }

    @Override
    public double getPorcentaDescuentoPorDia() {
       return getPromocion().getPorcentaDescuentoPorDia();
    }

    @Override
    public void setPorcentaDescuentoPorDia(double porcentaDescuentoPorDia) {
       getPromocion().setPorcentaDescuentoPorDia(porcentaDescuentoPorDia);
    }
    
    

}
